perm filename NAIVE[W77,JMC] blob sn#267113 filedate 1977-03-02 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	.require "memo.pub[let,jmc]" source
C00009 00003	.skip 1
C00010 ENDMK
CāŠ—;
.require "memo.pub[let,jmc]" source;
.turn off "{"
.cb A SOPHISTICATED THEORY OF NAIVE LANGUAGE


	Referential opacity has been much studied by philosophers,
more recently by linguists, and must be handled correctly by
AI.  Several approaches have been proposed.  Some make %3knows%1
a modal operator, some use a concept of possible worlds, some
propose to make the operand of %3knows%1 a sentence or a term,
and in (McCarthy 1977), I introduced a first order treatment of
individual concepts.

	All these approaches are rather sophisticated.  Distinctions
are carefully made, and the ontology is carefully investigated.  Yet
ordinary people use the language of knowledge without noticing the
distinctions unless it somehow comes to their attention.

	Consider the sentences
%2"John has the key
to the safe"%1 and %2"John has the combination to the safe"%1.
They seem quite parallel.  Either can be used to deduce that John
can open the safe.  However, since Frege (1879), it has been
necessary to treat them differently.  For example, if they key
to the safe is the same as the key to Mike's house, then it follows
from John having the key to Mike's house that he has the key to the safe.
We need only substitute the equation

!!a1:	%2key(Safe) = key(house(John))%1

into the sentence

!!a2:	%2has(John,key(house(Mike)))%1.

On the other hand, if

!!a3:	%2combination(Safe) = address(Mike)%1,

we cannot go from

!!a4:	%2has(John,address(Mike))%1

to

!!a5:	%2has(John,combination(Safe))%1

since John may not know that ({eq a3}).

	Many people, perhaps most, don't notice the distinction between
the two sentences until it is pointed out, because for many purposes
the distinction is unnecessary.  The object of this paper is to
introduce a formalism in which the distinction is not a basic fact of
the semantics of sentences, but a contingent fact expressible by axioms.
We shall use unmodified first order logic and the essential idea is
to make all contexts effectively opaque by allowing very few equalities.

	The %2safe%1 example is typical.  The notation is as above, but
we drop equations ({eq a1}) and ({eq a3}), replacing them by

!!a6:	%2key(Safe) ~ key(house(Mike))%1

and

!!a7:	%2combination(Safe) ~ address(Mike)%1,

respectively, where ~ is an equivalence relation weaker than equality.
.skip 1
.begin verbatim
John McCarthy
Artificial Intelligence Laboratory
Computer Science Department
Stanford University
Stanford, California 94305

ARPANET: MCCARTHY@SU-AI
.end

.turn on "{"
%7This draft of

PUBbed at {time} on {date}.%1